<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Site extends RM_Controller {

    public function test(){
        echo "test";
    }

	public function index(){

		$type = isset($_GET["type"]) ? intval($_GET["type"]) : 0;
		$key = (isset($_GET["key"]) ) ? addslashes($_GET["key"]) : "*";
		$curpage = isset($_GET["page"]) ? intval($_GET["page"]) : 1;


		if(empty($key))$key = '*';



		$url_params = ['type'=>$type, 'key'=>$key, 'page'=>$curpage];



//Redis在2.8.0版本新增了众望所归的scan操作，从此再也不用担心敲入了"keys *", 然后举起双手看着键盘等待漫长的系统卡死了···
//Redis的SCAN操作由于其整体的数据设计，无法提供特别准的scan操作
//由于WINDOWs PHP5.X系列最高只能支持到redis2.2.7(目前)，所以现在只能用KEYS(*)来取所有KEY

		/*
        KEYS pattern
        查找符合给定模式的key。
        KEYS *命中数据库中所有key。
        KEYS h?llo命中hello， hallo and hxllo等。
        KEYS h*llo命中hllo和heeeeello等。
        KEYS h[ae]llo命中hello和hallo，但不命中hillo。
        */


		$redis = $this->reids;



		$allKeys = $redis->keys($key);
		//echo "<pre>";print_r($allKeys);echo "</pre>";exit;

		$alldata = [];
		foreach($allKeys as $temp){

			if($type != 0  && $redis->type($temp) != $type){
				continue;
			}

			$alldata[] = $temp;
		}

		$datasum = count($alldata);

		$pageinfo = new \libraries\common\PageView($datasum, 20, $curpage);

		$data = [
			'redis' => $redis,
			'type' => $type,
			'url_params' => $url_params,
			'pageinfo' => $pageinfo,
			'alldata' => $alldata,
		];

		$this->load->view('site/index', $data);
	}

	public function del(){
        $key = isset($_GET['key']) ? addslashes($_GET['key']) : "";
        $redis = $this->reids;
        $redis->delete($key);
        exit(json_encode(array('code'=>1, 'info'=>'success')));
    }


}
